{"ast":null,"code":"const enableStatistic = process.env.NODE_ENV !== 'production' || typeof CSSINJS_STATISTIC !== 'undefined';\nlet recording = true;\n/**\n * This function will do as `Object.assign` in production. But will use Object.defineProperty:get to\n * pass all value access in development. To support statistic field usage with alias token.\n */\nexport function merge() {\n  for (var _len = arguments.length, objs = new Array(_len), _key = 0; _key < _len; _key++) {\n    objs[_key] = arguments[_key];\n  }\n  /* istanbul ignore next */\n  if (!enableStatistic) {\n    return Object.assign.apply(Object, [{}].concat(objs));\n  }\n  recording = false;\n  const ret = {};\n  objs.forEach(obj => {\n    const keys = Object.keys(obj);\n    keys.forEach(key => {\n      Object.defineProperty(ret, key, {\n        configurable: true,\n        enumerable: true,\n        get: () => obj[key]\n      });\n    });\n  });\n  recording = true;\n  return ret;\n}\n/** @private Internal Usage. Not use in your production. */\nexport const statistic = {};\n/** @private Internal Usage. Not use in your production. */\n// eslint-disable-next-line camelcase\nexport const _statistic_build_ = {};\n/* istanbul ignore next */\nfunction noop() {}\n/** Statistic token usage case. Should use `merge` function if you do not want spread record. */\nexport default function statisticToken(token) {\n  let tokenKeys;\n  let proxy = token;\n  let flush = noop;\n  if (enableStatistic) {\n    tokenKeys = new Set();\n    proxy = new Proxy(token, {\n      get(obj, prop) {\n        if (recording) {\n          tokenKeys.add(prop);\n        }\n        return obj[prop];\n      }\n    });\n    flush = (componentName, componentToken) => {\n      statistic[componentName] = {\n        global: Array.from(tokenKeys),\n        component: componentToken\n      };\n    };\n  }\n  return {\n    token: proxy,\n    keys: tokenKeys,\n    flush\n  };\n}","map":{"version":3,"names":["enableStatistic","process","env","NODE_ENV","CSSINJS_STATISTIC","recording","merge","_len","arguments","length","objs","Array","_key","Object","assign","apply","concat","ret","forEach","obj","keys","key","defineProperty","configurable","enumerable","get","statistic","_statistic_build_","noop","statisticToken","token","tokenKeys","proxy","flush","Set","Proxy","prop","add","componentName","componentToken","global","from","component"],"sources":["/data/messenger.client/node_modules/antd/es/theme/util/statistic.js"],"sourcesContent":["const enableStatistic = process.env.NODE_ENV !== 'production' || typeof CSSINJS_STATISTIC !== 'undefined';\nlet recording = true;\n/**\n * This function will do as `Object.assign` in production. But will use Object.defineProperty:get to\n * pass all value access in development. To support statistic field usage with alias token.\n */\nexport function merge() {\n  for (var _len = arguments.length, objs = new Array(_len), _key = 0; _key < _len; _key++) {\n    objs[_key] = arguments[_key];\n  }\n  /* istanbul ignore next */\n  if (!enableStatistic) {\n    return Object.assign.apply(Object, [{}].concat(objs));\n  }\n  recording = false;\n  const ret = {};\n  objs.forEach(obj => {\n    const keys = Object.keys(obj);\n    keys.forEach(key => {\n      Object.defineProperty(ret, key, {\n        configurable: true,\n        enumerable: true,\n        get: () => obj[key]\n      });\n    });\n  });\n  recording = true;\n  return ret;\n}\n/** @private Internal Usage. Not use in your production. */\nexport const statistic = {};\n/** @private Internal Usage. Not use in your production. */\n// eslint-disable-next-line camelcase\nexport const _statistic_build_ = {};\n/* istanbul ignore next */\nfunction noop() {}\n/** Statistic token usage case. Should use `merge` function if you do not want spread record. */\nexport default function statisticToken(token) {\n  let tokenKeys;\n  let proxy = token;\n  let flush = noop;\n  if (enableStatistic) {\n    tokenKeys = new Set();\n    proxy = new Proxy(token, {\n      get(obj, prop) {\n        if (recording) {\n          tokenKeys.add(prop);\n        }\n        return obj[prop];\n      }\n    });\n    flush = (componentName, componentToken) => {\n      statistic[componentName] = {\n        global: Array.from(tokenKeys),\n        component: componentToken\n      };\n    };\n  }\n  return {\n    token: proxy,\n    keys: tokenKeys,\n    flush\n  };\n}"],"mappings":"AAAA,MAAMA,eAAe,GAAGC,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,YAAY,IAAI,OAAOC,iBAAiB,KAAK,WAAW;AACzG,IAAIC,SAAS,GAAG,IAAI;AACpB;AACA;AACA;AACA;AACA,OAAO,SAASC,KAAK,GAAG;EACtB,KAAK,IAAIC,IAAI,GAAGC,SAAS,CAACC,MAAM,EAAEC,IAAI,GAAG,IAAIC,KAAK,CAACJ,IAAI,CAAC,EAAEK,IAAI,GAAG,CAAC,EAAEA,IAAI,GAAGL,IAAI,EAAEK,IAAI,EAAE,EAAE;IACvFF,IAAI,CAACE,IAAI,CAAC,GAAGJ,SAAS,CAACI,IAAI,CAAC;EAC9B;EACA;EACA,IAAI,CAACZ,eAAe,EAAE;IACpB,OAAOa,MAAM,CAACC,MAAM,CAACC,KAAK,CAACF,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAACG,MAAM,CAACN,IAAI,CAAC,CAAC;EACvD;EACAL,SAAS,GAAG,KAAK;EACjB,MAAMY,GAAG,GAAG,CAAC,CAAC;EACdP,IAAI,CAACQ,OAAO,CAACC,GAAG,IAAI;IAClB,MAAMC,IAAI,GAAGP,MAAM,CAACO,IAAI,CAACD,GAAG,CAAC;IAC7BC,IAAI,CAACF,OAAO,CAACG,GAAG,IAAI;MAClBR,MAAM,CAACS,cAAc,CAACL,GAAG,EAAEI,GAAG,EAAE;QAC9BE,YAAY,EAAE,IAAI;QAClBC,UAAU,EAAE,IAAI;QAChBC,GAAG,EAAE,MAAMN,GAAG,CAACE,GAAG;MACpB,CAAC,CAAC;IACJ,CAAC,CAAC;EACJ,CAAC,CAAC;EACFhB,SAAS,GAAG,IAAI;EAChB,OAAOY,GAAG;AACZ;AACA;AACA,OAAO,MAAMS,SAAS,GAAG,CAAC,CAAC;AAC3B;AACA;AACA,OAAO,MAAMC,iBAAiB,GAAG,CAAC,CAAC;AACnC;AACA,SAASC,IAAI,GAAG,CAAC;AACjB;AACA,eAAe,SAASC,cAAc,CAACC,KAAK,EAAE;EAC5C,IAAIC,SAAS;EACb,IAAIC,KAAK,GAAGF,KAAK;EACjB,IAAIG,KAAK,GAAGL,IAAI;EAChB,IAAI5B,eAAe,EAAE;IACnB+B,SAAS,GAAG,IAAIG,GAAG,EAAE;IACrBF,KAAK,GAAG,IAAIG,KAAK,CAACL,KAAK,EAAE;MACvBL,GAAG,CAACN,GAAG,EAAEiB,IAAI,EAAE;QACb,IAAI/B,SAAS,EAAE;UACb0B,SAAS,CAACM,GAAG,CAACD,IAAI,CAAC;QACrB;QACA,OAAOjB,GAAG,CAACiB,IAAI,CAAC;MAClB;IACF,CAAC,CAAC;IACFH,KAAK,GAAG,CAACK,aAAa,EAAEC,cAAc,KAAK;MACzCb,SAAS,CAACY,aAAa,CAAC,GAAG;QACzBE,MAAM,EAAE7B,KAAK,CAAC8B,IAAI,CAACV,SAAS,CAAC;QAC7BW,SAAS,EAAEH;MACb,CAAC;IACH,CAAC;EACH;EACA,OAAO;IACLT,KAAK,EAAEE,KAAK;IACZZ,IAAI,EAAEW,SAAS;IACfE;EACF,CAAC;AACH"},"metadata":{},"sourceType":"module"}